Methods and systems for compressing and transmitting media signals are known in the art. Compressed digital video is largely becoming the preferred medium to transmit to video viewers everywhere. Parts of the Moving Pictures Experts Group (MPEG) specifications are standardized methods for compressing and transmitting video. The Telecommunication Standardization Sector of the International Telecommunication Union (ITU-T) also defines various compression standards including H.261, H.263, H.264 and the like.
In general, MPEG as well as ITU-T standards are used today for transmitting video over terrestrial, wireless, satellite and cable communication channels and also for storing digital video.
Some standardized compression/encoding standards utilize various compression schemes, such as adaptive quantization, intra-frame encoding, inter-frame encoding, run length encoding and variable length coding. Intra-frame coding takes advantage of spatial redundancies in a picture. Inter-frame coding takes advantage of temporal redundancies from picture to picture in a video sequence. Inter-frame coding involves motion estimation and motion compensation. Motion estimation involves searching, for each block (including N×M pixels, whereas N usually equals M), within a predefined area, a best matching block. The relative positions of these blocks are referred to as motion vector. Motion compensation involves calculating the differences between each block and the best matching block and encoding said difference by a spatial transformation, such as a Discrete Cosine Transform (DCT).
The block-based encoding has resulted in blocking artifacts. These artifacts appear at the boundary of adjacent blocks. This problem is usually more acute in low bit rate transmission systems, in which substantially strong quantization operation is applied.
In order to overcome these blocking artifacts two type of de-blocking filters were introduced. The first type is known as a post filter and the second type is known as a loop filter (or in-loop filter). The first type is applied after the encoding process ends while the loop filter is applied as a part of an encoding scheme. Encoders that include loop filter are characterized by better image quality.
A typical de-blocking filter, and especially an H.264/MPEG-4 compliant de-blocking filter can apply different filtering operation (in other words—operate in various filtering modes) in response to a boundary strength parameter. The different filtering modes differ by the strength of de-blocking filtering applied to the image data.
De-ringing filtering removes sudden transitions from a frame. The filtering process usually starts by a threshold-acquisition stage during which a maximal and a minimal pixel values within a group of pixels is searched. These values are used to calculate a threshold value. The threshold value is used to generate an index matrix in which value one is assigned to pixels within the group that have a value that is greater then the threshold. The other pixels are assigned with a value of zero. The index matrix is then clipped.
Various de-blocking filters, de-ringing filters and a combination of both filters can be found in the following patents, patent applications and article, all being incorporated herein by reference: U.S. patent application publication number 2004/0076237 of Kadono et al.; U.S. patent application publication number 2001/0020906 of Andrews at al.; U.S. patent application publication number 2005/0024651 of Yu et al.; U.S. patent application publication number 2005/0123057 of MacInnis et al.; U.S. patent application publication number 2002/0118399 of Estevez et al.; U.S. patent application publication number 2004/0228415 of Wang; U.S. patent application publication number 2003/0021489 of Miura et al.; U.S. patent application publication number 2003/0219074 of Park et al.; U.S. patent application publication number 2005/0100241 of Kong et al.; U.S. patent application publication number 2005/0147319 of Deshpande et al.; U.S. patent application publication number 2004/0247034 of Zhong et al.; U.S. patent application publication number 2005/0053288 of Srinivasan et al.; U.S. Pat. No. 6,950,473 of Kim et al.; and “Adaptive De-blocking Filter”, by P. List, A. Joch, J. Lainema, G. Bjontegaard and M. Karczewicz, IEEE transactions on circuits and systems for video technology, Vol. 13, No. 7, July 2003.
Each one of the de-blocking filtering and the de-blocking filtering is very complex and requires many computational resources. Due to their complexities many prior art solutions use multiple hardware filters to perform these operations. Some prior art solutions provide a dedicated de-blocking filter that is tailored to perform de-blocking filtering while another filter is tailored to perform de-ringing filtering. This approach can provide a high-speed filter but it consumes a large amount of integrated circuit real estate.
There is a need to provide an efficient system and method for filtering image data.